﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    public partial class Kontakt : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKontakt {
        
        private global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IAadress @__aadress;
        
        private string @__kontaktTekst;
        
        private System.Int64? @__liikKL;
        
        private System.Int64? @__staatusKL;
        
        private System.DateTime? @__algusKP;
        
        private System.DateTime? @__loppKP;
        
        private System.DateTime? @__sulgemiseKP;
        
        private string @__markused;
        
        public Kontakt() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public Kontakt(global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IAadress @aadress, string @kontaktTekst, System.Int64? @liikKL, System.Int64? @staatusKL, System.DateTime? @algusKP, System.DateTime? @loppKP, System.DateTime? @sulgemiseKP, string @markused) {
            this.@__aadress = @aadress;
            this.@__kontaktTekst = @kontaktTekst;
            this.@__liikKL = @liikKL;
            this.@__staatusKL = @staatusKL;
            this.@__algusKP = @algusKP;
            this.@__loppKP = @loppKP;
            this.@__sulgemiseKP = @sulgemiseKP;
            this.@__markused = @markused;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected Kontakt(IKontakt @kontakt) {
            this.@__aadress = @kontakt.Aadress;
            this.@__kontaktTekst = @kontakt.KontaktTekst;
            this.@__liikKL = @kontakt.LiikKL;
            this.@__staatusKL = @kontakt.StaatusKL;
            this.@__algusKP = @kontakt.AlgusKP;
            this.@__loppKP = @kontakt.LoppKP;
            this.@__sulgemiseKP = @kontakt.SulgemiseKP;
            this.@__markused = @kontakt.Markused;
        }
        
        public virtual global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IAadress Aadress {
            get {
                return this.@__aadress;
            }
            set {
                this.@__aadress = value;
            }
        }
        
        public virtual string KontaktTekst {
            get {
                return this.@__kontaktTekst;
            }
            set {
                this.@__kontaktTekst = value;
            }
        }
        
        public virtual System.Int64? LiikKL {
            get {
                return this.@__liikKL;
            }
            set {
                this.@__liikKL = value;
            }
        }
        
        public virtual System.Int64? StaatusKL {
            get {
                return this.@__staatusKL;
            }
            set {
                this.@__staatusKL = value;
            }
        }
        
        public virtual System.DateTime? AlgusKP {
            get {
                return this.@__algusKP;
            }
            set {
                this.@__algusKP = value;
            }
        }
        
        public virtual System.DateTime? LoppKP {
            get {
                return this.@__loppKP;
            }
            set {
                this.@__loppKP = value;
            }
        }
        
        public virtual System.DateTime? SulgemiseKP {
            get {
                return this.@__sulgemiseKP;
            }
            set {
                this.@__sulgemiseKP = value;
            }
        }
        
        public virtual string Markused {
            get {
                return this.@__markused;
            }
            set {
                this.@__markused = value;
            }
        }
    }
}
